******************************************************
***Kodierung der Missing Values in das STATA-Format***
******************************************************

/* In allen Komponenten der GLES 2013 sind die Missing Values nach einem einheitlichen Schema codiert, das
   auf den Seiten der GLES (www.gesis.org/gles) heruntergeladen werden kann.
   Bei den Datens�tzen im SPSS Format umfassen diese alle Werte von -99 bis -71 . Um auch in den STATA
   Datens�tzen Missing Values zu verwenden, ist es n�tig diese Missing Values in die STATA eigene Missing
   Value Logik zu �bersetzen. Dies wird mit diesem Do-File erm�glicht.
   
   Bei Fragen oder Problemen wenden Sie sich gerne an gles@gesis.org 
   
   GESIS (Februar 2014) */
 *******************************************************
 
 ********************************
set more off

 
 
*** Verzeichnis festlegen
*cd "xxx"

*** Datensatz laden
*use "ZAXXX_vX-X-X.dta"

********************************


****SPSS Missings in STATA Format umbennenen (Numerisch und String)****

foreach var of varlist _all {
	capture confirm numeric var `var'
	if !_rc {
		mvdecode `var', mv(-71=.p \-72=.o \-81=.n \-82=.m \-83=.l ///
				 \-84=.k \-85=.j \-86=.i \-92=.h \-93=.g ///
				 \-94=.f \-95=.e \-96=.d \-97=.c \-98=.b ///
				 \-99=.a)
				 
	label define `var' ///
		.a"keine Angabe" ///
		.b"weiss nicht" ///
		.c"trifft nicht zu" ///
		.d"Split" ///
		.e"nicht teilgenommen" ///
		.f"nicht in Auswahlgesamtheit" ///
		.g"Interview abgebrochen" ///
		.h"Fehler in Daten" ///
		.i"nicht wahlberechtigt" ///
		.j"nicht waehlen" ///
		.k"keine Erst-/Zweitstimme abgegeben" ///
		.l"ungueltig waehlen" ///
		.m"keine andere Partei waehlen" ///
		.n"noch nicht entschieden" ///
		.o"nicht einzuschaetzen" ///
		.p"nicht bekannt", modify
		}
	else {
		replace `var'=".a keine Angabe" if `var'=="-99 keine Angabe"
		replace `var'=".c trifft nicht zu" if `var'=="-97 trifft nicht zu"
		replace `var'=".e nicht teilgenommen" if `var'=="-95 nicht teilgenommen"
		replace `var'=".g Interview abgebrochen" if `var'=="-93 Interview abgebrochen"
		}
}

foreach var of newlist ISCO88 ISCO08 pres lbl_wahlkreise {
			label define `var' ///
				.a"keine Angabe" ///
				.b"weiss nicht" ///
				.c"trifft nicht zu" ///
				.d"Split" ///
				.e"nicht teilgenommen" ///
				.f"nicht in Auswahlgesamtheit" ///
				.g"Interview abgebrochen" ///
				.h"Fehler in Daten" ///
				.i"nicht wahlberechtigt" ///
				.j"nicht waehlen" ///
				.k"keine Erst-/Zweitstimme abgegeben" ///
				.l"ungueltig waehlen" ///
				.m"keine andere Partei waehlen" ///
				.n"noch nicht entschieden" ///
				.o"nicht einzuschaetzen" ///
				.p"nicht bekannt", modify
}

